Add process safety functionality#1614
Add process safety functionality#1614EvenSol merged 25 commits intoequinor:masterfrom EvenSol:master
Conversation
…yzer-package Add process safety analyzer and scenario support
…or-extended-limits Add configurable mechanical design limits and validation
…icaldesign-for-sizing-strategies Refactor safety valve design to support scenario-based sizing
…-for-safety-metrics Add process safety reporting builder and integration tests
…n-and-capacity-methods Add flare disposal network analysis and reporting DTOs
Fix Javadoc warnings and errors
…est-compilation-errors Enhance process safety analyzer scenario support
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces a comprehensive process safety analysis framework with mechanical design validation, scenario-based safety reporting, and enhanced safety valve sizing capabilities. The changes add support for CSV-based design data loading, multi-scenario relief valve calculations, and disposal network analysis for flare systems.
Reviewed Changes
Copilot reviewed 40 out of 40 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/resources/design_limits_test.csv | Test data file for mechanical design limits |
| src/test/java/.../ProcessSafetyReportBuilderTest.java | Integration tests for safety report generation |
| src/test/java/.../ProcessSafetyAnalyzerTest.java | Tests for safety scenario analyzer |
| src/test/java/.../MechanicalDesignDataSourceTest.java | Tests for CSV design data loading |
| src/test/java/.../SafetyValveMechanicalDesignTest.java | Enhanced tests for multi-scenario valve sizing |
| src/main/java/.../safety/* | New safety analysis domain model and DTOs |
| src/main/java/.../mechanicaldesign/* | Design limit validation and data source framework |
| src/main/java/.../valve/SafetyValveMechanicalDesign.java | Multi-scenario valve sizing with strategy pattern |
| src/main/java/.../valve/SafetyValve.java | Scenario management for relief valves |
| src/main/java/.../flare/Flare.java | Radiation, dispersion, and capacity analysis |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| design.setMinOperationPressure(15.0); | ||
| design.setMaxOperationTemperature(360.0); | ||
| design.setMinOperationTemperature(265.0); | ||
| design.setCorrosionAllowanse(3.5); |
There was a problem hiding this comment.
The method name 'setCorrosionAllowanse' contains a typo. It should be 'setCorrosionAllowance' (with 'ance' instead of 'anse'). This appears to be calling an existing misspelled method in the codebase.
| design.setMinOperationPressure(7.0); | ||
| design.setMaxOperationTemperature(370.0); | ||
| design.setMinOperationTemperature(270.0); | ||
| design.setCorrosionAllowanse(6.5); |
There was a problem hiding this comment.
The method name 'setCorrosionAllowanse' contains a typo. It should be 'setCorrosionAllowance' (with 'ance' instead of 'anse'). This appears to be calling an existing misspelled method in the codebase.
| double referenceMassRate = inStream != null ? inStream.getFlowRate("kg/sec") : 0.0; | ||
| double standardVolumeRate = 0.0; | ||
| if (referenceMassRate > 1.0e-12) { | ||
| double refStdVolume = inStream.getFlowRate("Sm3/sec"); |
There was a problem hiding this comment.
Variable inStream may be null at this access as suggested by this null guard.
Variable inStream may be null at this access as suggested by this null guard.
| double refStdVolume = inStream.getFlowRate("Sm3/sec"); | |
| double refStdVolume = (inStream != null) ? inStream.getFlowRate("Sm3/sec") : 0.0; |
Make safety valve sizing strategies serializable
Fix corrosion allowance naming typo
…-to-isblank Fix Java 8 compatibility by avoiding String.isBlank
…processsafetyreportbuildertest
No description provided.